package com.lagou.edu.common.status;

/**
 * @author 赵虎
 * @date 2021/2/18 2:34 下午
 */
public enum ResultStatus {
    /**
     * 成功
     */
    SUCCESS(200),

    /**
     * 请求错误 例如:参数不能为空,类型转换异常,未根据参数查询到信息等
     */
    ERROR_REQUEST(300),

    /**
     * 系统异常 比如:空指针,数组越界
     */
    ERROR_SYSTEM(400),

    /**
     * 微服务内部通信异常
     */
    ERROR_FEIGN(500),

    /**
     * 权限异常
     */
    ERROR_OAUTH(600);

    private final Integer code;

    private ResultStatus(Integer code) {
        this.code = code;
    }

    public Integer getCode() {
        return code;
    }

    public static ResultStatus getResultStatus(Integer key) {
        for(ResultStatus resultStatus : ResultStatus.values()){
            if(resultStatus.getCode() == key){
                return  resultStatus;
            }
        }
        return  null;
    }
}
